<?php
require_once 'ConfigClement.php';
require_once 'Banque.php';
require_once 'Dossier.php';
require_once 'Emprunt.php';
require_once 'Comptabilite.php';
Class Mails{

	/**
	 *
	 * 0 = create
	 * 1 = modif
	 * 2 = delete
	 */
	public static function sendMailModifDossier($banque,$dossier, $type)
	{
		$mail = $banque->mail; // D�claration de l'adresse de destination.

		$message_html = Mails::makeBodyData($banque->nom, $dossier, $type);
		//=====Définition du sujet.
		$sujet = Mails::makeSubjectData($banque->nom, $dossier, $type);
		//=========

		//=====Création du header de l'e-mail.
		$mail_to = "";
		$mail_from = "";
		if($type != 3){
			$mail_to = ConfigClement::$mail;
			$mail_from = "no-reply@clementsarl.com";
		}else{
			$mail_to = $banque->mail;
			$mail_from = "no-reply@clementsarl.com";
		}

		//=====Envoi de l'e-mail.
		Mails::sendMail("SARL CLEMENT SITE",$mail_from , $mail_to, $sujet, $message_html);
		
// 		if($type == 1)
// 		{
// 			Mails::sendMail("SARL CLEMENT SITE", "no-reply@clementsarl.com", $banque->mail, $sujet, $message_html);
// 		}
		//==========

	}
	
	public static function sendMailMdpForgot($list_banque, $login)
	{
	
		$message_html = Mails::makeBodyDataMDPForgot($list_banque, $login);
		//=====Définition du sujet.
		$sujet = "Informations concernant les banque relative au login ".$login;
		//=========
	
		//=====Création du header de l'e-mail.
		$mail_to = "";

		$mail_to = ConfigClement::$mail;
	
	
		//=====Envoi de l'e-mail.
		Mails::sendMail("SARL CLEMENT SITE", "no-reply@clementsarl.com", $mail_to, $sujet, $message_html);
	
	
	
	}
	
	
	public static function sendMail($from_name, $from_mail, $to_mail, $subject, $body)
	{
	
		if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $to_mail)) // On filtre les serveurs qui rencontrent des bogues.
		{
			$passage_ligne = "\r\n";
		}
		else
		{
			$passage_ligne = "\n";
		}
		//=====Déclaration des messages au format texte et au format HTML.
		$message_html = $body;
		//==========
	
		//=====Création de la boundary
		$boundary = "-----=".md5(rand());
		//==========
	
		//=====Définition du sujet.
		$sujet = $subject;
		//=========
	
		//=====Création du header de l'e-mail.
		$header = "From: \"".$from_name."\"<".$from_mail.">".$passage_ligne;
		
		$header.= "Reply-to: \"Support\" <".$to_mail.">".$passage_ligne;

		$header.= "MIME-Version: 1.0".$passage_ligne;
		$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
		$header .= "Return-Path: <".$from_mail.">\n".$passage_ligne;
		$header .= "Content-Type: text/html; charset=iso-8859-1\n".$passage_ligne;
		$header .= "X-Sender: <".$from_mail.">".$passage_ligne;
		$header .= "X-Mailer: PHP\n".$passage_ligne;
		$header .= "X-auth-smtp-user: ".$from_mail."".$passage_ligne;
		$header .= "X-abuse-contact: ".$from_mail.$passage_ligne;
		//==========
	
		//=====Cr�ation du message.
		$message = $passage_ligne."--".$boundary.$passage_ligne;
	
	
		//=====Ajout du message au format HTML
		$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
		$message.= "Content-Transfer-Encoding: 32bit".$passage_ligne;
		$message.= $passage_ligne.$message_html.$passage_ligne;
		//==========
		$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
		$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
		//==========
	
		//=====Envoi de l'e-mail.
		mail($to_mail,$sujet,$message,$header);
		//==========
	}

	public static function getStyleTD()
	{
		return "style=\"font-family: sans-serif;border: thin solid black;width: 50%;padding: 5px;\"";
	}

	private static function makeSubjectData($nom_banque, $dossier, $type)
	{
		switch ($type){
				
			case 0 :
				return "L'établissement ".$nom_banque ." a déposé un nouveau dossier";
			case 1 :
				return "L'établissement ".$nom_banque ." a modifié un dossier";
			case 2 :
				return "L'établissement ".$nom_banque ." a supprimé un dossier";
			case 3 :
				return "Le dossier de Mr/Mme/Mlle ".$dossier->nom." ".$dossier->prenom." fait l'objet d'une demande de résiliation";
			case 4 :
				return "Un nouveau dossier vient d'être émis pour l'entreprise Clement-Alexandre";
			case 5 :
				return "Le dossier de Mr/Mme/Mlle ".$dossier->nom." ".$dossier->prenom." se termine dans moins de 6 mois";


					
		}
			
	}

	private static function makeBodyData($nom_banque, $dossier, $type)
	{

		$message_html = "";

		$message_html = "<html>
				<body>"
				.Mails::makeData($nom_banque, $dossier, $type);


		return $message_html;

	}
	
	private static function makeData($nom_banque, $dossier, $type)
	{
		
		
		switch ($type){
			case 3 :
				$numero_pret = $dossier->numero_pret == "" ? "inconnue" : $dossier->$numero_pret;
				$compta = Comptabilite::getComptaByDossier($dossier->id);
				$numero_contrat = $compta->numero_contrat == "" ? "inconnue" : $compta->numero_contrat;
				return "Monsieur, Madame,<br><br>
					Le contrat numéro ".$numero_contrat." associé au prêt numéro ".$numero_pret." de Mr/Mme  ".$dossier->nom." ".$dossier->prenom.", 
						fait l’objet d’une demande de résiliation. Afin de pouvoir satisfaire cette requête merci de nous confirmer 
						le remboursement du prêt et de nous envoyer la main levée.
					<br><br>Je reste disponible,
					<br><br>Cordialement,
					<br><br>
					Clement Cohen<br>
					CLEMENT SARL<br>
					Résidence Château d’Azur<br>
					45 avenue de la Source<br>
					06100 NICE GAIRAUT<br>
					Tél : 04 93 52 99 99<br>
					Fax : 04 89 98 96 42<br>
					clementcohen@neuf.fr";
				
			 default :
			 	
			 	$text = Mails::makeSubjectData($nom_banque, $dossier, $type)." <br><br>
			 			Les détails du dossier sont présent dans le tableau ci-dessous : <br><br>
			 			<table style=\"border: medium solid black;
			 			border-collapse: collapse;
			 			width: 50%;\" width=\"60%\">
			 			<tr><td ".Mails::getStyleTD()."  colspan=\"2\" align=\"center\"><b>Informations client</b></td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Date</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->date</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Type de client</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->type_client</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Numéro de compte</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->numero_compte_client</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Nom</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->nom</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Prénom</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->prenom</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Date de naissance</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->date_naissance</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Email</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->email</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Société</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->societe</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Profession</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->profession</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Tel domicile</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->tel_domicile</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Tel portable</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->tel_portable</td></tr>
			 					<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Adresse postale</b></td><td ".Mails::getStyleTD()." align=\"left\">".str_replace (ConfigClement::$separator_address, "<br>",$dossier->adresse)."</td></tr>
			 							<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Cadre</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->cadre</td></tr>
			 							<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Fumeur</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->fumeur</td></tr>";

			 	$list_emprunt = Emprunt::getListEmpruntByDossier($dossier->id);
			 	$index = 0;
			 	foreach($list_emprunt as $emprunt){
			 		$index = $index+1;
			 		$text = $text."<tr><td ".Mails::getStyleTD()." colspan=\"2\" align=\"center\"><b>Objet du financement ".$index."</b></td></tr>
			 				<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Montant</b></td><td ".Mails::getStyleTD()." align=\"left\">$emprunt->montant</td></tr>
			 				<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Durée</b></td><td ".Mails::getStyleTD()." align=\"left\">$emprunt->duree</td></tr>
			 				<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Taux</b></td><td ".Mails::getStyleTD()." align=\"left\">$emprunt->taux</td></tr>
			 				<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Couvertures</b></td><td ".Mails::getStyleTD()." align=\"left\">$emprunt->couvertures</td></tr>
			 				<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Quotité à assurer</b></td><td ".Mails::getStyleTD()." align=\"left\">$emprunt->quotas</td></tr>
			 				<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Type de pret</b></td><td ".Mails::getStyleTD()." align=\"left\">$emprunt->type_pret</td></tr>
			 				<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Signature des offres de prêt prévue le </b></td><td ".Mails::getStyleTD()." align=\"left\">$emprunt->date_signature_prevu</td></tr>
			 				<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Remarques</b></td><td ".Mails::getStyleTD()." align=\"left\">$emprunt->remarques</td></tr>";
			 	}


			 	$text = $text."<tr><td ".Mails::getStyleTD()." colspan=\"2\" align=\"center\"><b>Informations émetteur</b></td></tr>
			 			<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Nom du salarié</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->nom_emetteur</td></tr>
			 			<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Prénom Salarié</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->prenom_emetteur</td></tr>
			 			<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Numéro du matricule</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->numero_matricule_emetteur</td></tr>
			 			<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Numéro de tel.</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->numero_tel_emetteur</td></tr>
			 			<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Agence / Service</b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->agence_service_emetteur</td></tr>
			 			<tr><td ".Mails::getStyleTD()." width=\"40%\" align=\"left\"><b>Disribuer une copie à </b></td><td ".Mails::getStyleTD()." align=\"left\">$dossier->copie_emetteur</td></tr>
			 			</table>
			 			</body>
			 			</html>";
			 	
				return $text;
				
		}
		
	}
	
	private static function makeBodyDataMDPForgot($list_banque, $login)
	{
		
		
		$message = "";
		
		foreach ($list_banque as $banque)
		{
			$message = $message."<tr><td ".Mails::getStyleTD()." colspan=\"2\" align=\"center\">".$banque->nom."</td><td ".Mails::getStyleTD()."  colspan=\"2\" align=\"center\">".$banque->login."</td><td ".Mails::getStyleTD()." colspan=\"2\" align=\"center\">".$banque->password."</td><td ".Mails::getStyleTD()."  colspan=\"2\" align=\"center\">".$banque->adress."</td><td ".Mails::getStyleTD()."  colspan=\"2\" align=\"center\">".$banque->phone."</td><td ".Mails::getStyleTD()."  colspan=\"2\" align=\"center\">".$banque->mail."</td></tr>";
		}
	
		$message_html = "";
	
		$message_html = "<html>
				<body>Il y a ".count($list_banque)." résultat(s) pour le login ".$login.". <br><br>
						Les détails du dossier sont présent dans le tableau ci-dessous : <br><br>
						<table style=\"border: medium solid black;
						border-collapse: collapse;
						width: 50%;\" width=\"60%\">
						<tr><td ".Mails::getStyleTD()." colspan=\"2\" align=\"center\"><b>nom</b></td><td ".Mails::getStyleTD()."  colspan=\"2\" align=\"center\"><b>login</b></td><td ".Mails::getStyleTD()." colspan=\"2\" align=\"center\"><b>password</b></td><td ".Mails::getStyleTD()."  colspan=\"2\" align=\"center\"><b>adresse </b></td><td ".Mails::getStyleTD()."  colspan=\"2\" align=\"center\"><b>numéro</b></td><td ".Mails::getStyleTD()." colspan=\"2\" align=\"center\"><b>mail</b></td></tr>
						".$message."	
															</table>
															</body>
															</html>";
	
	
		return $message_html;
	
	}

}
// $banque = Banque::getBanqueByLoginAndPassword("cic", "passcic");
// $list_dossier = $banque->getListDossier();

// Mails::sendMail($banque, $list_dossier[0], 2 );
//echo Mails::makeBodyData($banque->nom, $list_dossier[0]);
?>